iT邦幫忙

2022 iThome 鐵人賽

DAY 11
0

目的

每次要使用swaggerUI時候範例總是各式各樣,千奇百怪,下列範例是使用官方預設的Swashbuckle套件來教學。

同步更新於個人部落格
swagger範例

1.建立新專案

選擇ASP.NET Core Web API專案範本,並執行下一步
步驟一

2.設定新的專案

命名你的專案名稱,並選擇專案要存放的位置。
步驟二

3.其他資訊

選擇.net6版本,支援OpenAPI支援一定要勾選,此選項.net5以後才會有,.net core 3.1並沒有此選項,需要從NuGet安裝,並點建立
步驟三

4.專案基本設定

右邊紅框處專案檔點兩下,會開啟專案的xml檔案,額外加入兩行xml資料,目的是要透過編譯器產生文件檔案

<GenerateDocumentationFile>true</GenerateDocumentationFile>
<NoWarn>$(NoWarn);1591</NoWarn>
  • 加入前
    步驟4-1
  • 加入後
    步驟4-2

5.編輯Program.cs檔案

修改program檔案內容,調整AddSwaggerGen的內容,目的是為了可以讀取我們所寫的註解
program檔案與.net5以前不一樣,保哥的部落格有比較詳細的說明

builder.Services.AddSwaggerGen(options => {
  // using System.Reflection;
  var xmlFilename = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
  options.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, xmlFilename));
});
  • 加入前
    步驟5-1
  • 加入後
    步驟5-2

6.編輯WeatherForecastController檔案

這裡有個重點,如果要增加下一個action時候,預設的範例檔案,需要調整route的設定,才能讀取到,不然會跳錯誤訊息

  • 加入前
    步驟6-1
  • 加入後
    步驟6-2
    加入第二個方法
    步驟6-3

7.執行結果

就可以成功讀取到兩個方法了
步驟6-4

參考

微軟官方

範例檔

GitHub


上一篇
[.net 6] Telegram.Bot範例
下一篇
[.net 6] swagger授權範例(jwt token)
系列文
.net6套件入門30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言